<?php

namespace app\index\controller;

use think\Controller;
use think\Db;
use think\Session;
use PHPMailer\PHPMailer\PHPMailer;
use app\com\CaptchaDemo;

class Index extends Controller
{
    
    // 加载首页
    public function index()
    {
        return view('index/index');
    }


    public function lists()
    {
        $data = Db::field('name, address, isbreaker, wifi, parking, price, icon, g.id')->name('goods_img i')->join('goods g', 'g.id=i.gid')->where('face', '1')->select();
        // dump($data);die;
        return view('list/index',['data'=>$data]);
    }


    public function xq()
    {
        $id = input('get.id');
        $data = Db::name('goods')->where('id', $id)->find();
        $img = Db::field('icon')->name('goods_img')->where('gid', $id)->select();
        $goods = Db::name('room')->where('gid', $id)->select();
        // dump($goods);
        // dump($img);
        // dump($data);die;
        return view('xq/index',['data'=>$data, 'img'=>$img, 'goods'=>$goods]);
    }

    // 显示下单页面
    public function xd()
    {
        if (!Session::get('vip') == null) {
            $id = input('get.id');
            // dump($id);
            $data = Db::name('room')->where('id', $id)->find();
            // dump($data);die;
            return view('order/index',['data'=>$data]);
        }
        return view('login/login');
        exit;
    }


    public function order()
    {
        $id = Session::get('vip.id');
        $data = input('post.');
        $data['orderNum'] = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
        $data['uid'] = $id;
        // dump($data);die;
        if (!$data['name'] == null) {
            if (!$data['tel'] == null) {
                $res = Db::name('order')->insert($data);
                if ($res > 0) {
                    $info['status'] = true;
                    $info['id'] = $id;
                    $info['info'] = '下单成功';
                return json($info);
                } else {
                    $info['status'] = false;
                    $info['id'] = $id;
                    $info['info'] = '下单失败';
                return json($info);
                }
                // JSON 返回
                return json($info);
            }else{
                $info['status'] = false;
                $info['id'] = $id;
                $info['info'] = '请填写您的联系号码';
                return json($info);
            }
        }else{
            $info['status'] = false;
            $info['id'] = $id;
            $info['info'] = '请填写您的名称';
            return json($info);
        }
    }


    // 加载注册页
    public function update()
    {  
        return view('login/register');
    }

    // 执行注册
    public function doUpdate()
    {
        // 获取post数据
        $data = input('post.');
        // var_dump($data);die;
        // 判断data中uerpass和reuserpass是否相同
        if ($data['repass'] !== $data['repass']) {
            $this->error('注册失败', 'index/login/register');
        }
        unset($data['repass']);
        unset($data['doemail']);
        $data['userpass'] = MD5($data['userpass']);
        // var_dump($data);die;  
        $query = Db::name('vip')->insert($data);
        // var_dump($query);die;
        $arr = array();
        $arr['uid'] = $query;
        $arr['rid'] = 7;
        // var_dump($arr);die;

        if ($query > 0) {
            $req = DB::name('user_role')->insert($arr);
        }

        if($query&&$req) {
            $this->success('注册成功', 'index/login/login');
        } else {
            Db::callback();
            $this->error('请稍后再试');
        }
    }
    // 邮箱验证
    public function doMail()
    {    
        // 接收传输过来的值
        $data['email'] = 'abcd@qq.com';
        $data['pwd'] = md5('123123');
        // 加密
        $token = md5($data['email']);
        Session::set($token,$data);
        // 接口
        $url = 'http://tp.local/yanzheng.html?token='.$token;
        // var_dump($data,$token);die;
        // 实例化
        // $mail = new PHPMailer();
        // try{
        //     $mail->SMTPDebug = 2;                           // 邮件调试模式
        //     $mail->isSMTP();                            // 设置邮件的smtp
        //     $mail->Host = 'smtp.qq.com';                    // 设置邮件程序以使用smtp
        //     $mail->CharSet = 'UTF-8';                       // 设置邮件内容的编码
        //     $mail->SMTPAuth =true;                          // 启用smtp验证
        //     $mail->Username = '1540402818@qq.com';          // smtp username
        //     $mail->Password = 'xiuzheng.1994';              // smtp username
        //     $mail->SMTPSecure = 'ssl';                      // 启用tls加密,ssl也被接收
        //     $mail->Port = 465;                              // 链接的tcp接口
        //     $mail->setFrom('1540402818@qq.com','Mailer');   // 设置发件人
        //     $mail->addAddress('1196275521@qq.com','qq');    // 添加收件人
        //     $mail->isHTML(true);                            // 将店址邮件格式设置为THML
        //     $mail->Subject = '这是邮件主题';                // 邮件主题
        //     $mail->Boby = '这是邮件内容';                   // 邮件内容
        //     $mail->send();
        //     echo 'Message has been sent';
        // }catch(Exception $e){
        //     echo 'Mailer Error';
        // }
        $mail=new PHPMailer();
        try{
            $mail->SMTPDebug = 2;           // 邮件调试模式
            $mail->isSMTP();                // 设置邮件使用SMTP
            $mail->Host = 'smtp.163.com';   // 设置邮件程序以使用SMTP
            $mail->CharSet='UTF-8';         // 设置邮件内容的编码
            $mail->SMTPAuth = true;         // 启用SMTP验证
            $mail->Username = 'lyl940503@163.com';   // SMTP username
            $mail->Password = 'abcd1234';   // SMTP password
            $mail->SMTPSecure = 'ssl';      // 启用TLS加密，`ssl`也被接受
            $mail->Port = 465;              // 连接的TCP端口
            $mail->setFrom('lyl940503@163.com', 'Mailer');  //设置发件人
            $mail->addAddress('1196275521@qq.com', 'qq');       //  添加收件人1
            // $mail->addAddress('ellen@example.com');          // 收件人2
            // $mail->addReplyTo('fajian@aliyun.com', 'fajian');//抄送
            // $mail->addCC('cc@example.com');
            // $mail->addBCC('bcc@example.com');

            //附件
           // $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
           // $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
            //Content
            $mail->isHTML(true);                    // 将电子邮件格式设置为HTML
            $mail->Subject = '这个是邮件主题';
            $mail->Body    = 'This is 测试 <b>邮件</b>';
//            $mail->AltBody = '这是非HTML邮件客户端的纯文本';
            $mail->send();
            echo 'Message has been sent';
        }catch (Exception $e){
            echo 'Mailer Error: ' . $mail->ErrorInfo;
        }

    }

    public function yanzheng()
    {
        dump($_GET);exit;   
    }
    

    // 加载登录页
    public function  login()
    {   
        return view('login/login');
    }
    
    // 执行登录
    public function doLogin()
    {
        //接收用户名和密码
        $username = input('post.username');
        $userpass = input('post.userpass');

        //验证
        $data = Db::name('vip')->where('username', $username)->find();
        if (!$data) {
            $this->error('用户名不存在！');
            exit;
        }
        //验证密码
        if ($data['userpass'] != md5($userpass)) {
            $this->error('密码不正确');
            exit;
        } 
        //把用户信息添加到session
        Session::set('vip', $data);
        
        $this->redirect('index/index/index');
        // return '111';
    }

    // 退出登录
    public function logout()
    {   
        Session::delete('vip');
        $this->redirect('index/login/login');
    }

    //加载加盟页面
    public function join()
    {
        return view('join/join');
    }

}
